package mundo;

import java.util.Random;

import Principal.*;
import mundo.*;

public class Partido {

    // Atributos
    String enfrentadosEquipos;
    int id_partido;
    String resultado;
    Equipo[] equipos;

    // constructor por defecto
    public Partido() {

        enfrentadosEquipos = "desconocido vs desconocido";
        id_partido = 00;
        resultado = "0 - 0";
        equipos = null;

    }

    // constructor por par�metros
    public Partido(String vs, int numeroPartido, String resultadoEncuentro,
            Equipo equipos_creados[]) {

        enfrentadosEquipos = vs;
        id_partido = numeroPartido;
        resultado = resultadoEncuentro;
        equipos = equipos_creados;
    }

    // Metodos
    public String getEnfrentadosEquipos() {
        return enfrentadosEquipos;
    }

    public void setEnfrentadosEquipos(String enfrentadosEquipos) {
        this.enfrentadosEquipos = enfrentadosEquipos;
    }

    public int getId_partido() {
        return id_partido;
    }

    public void setId_partido(int id_partido) {
        this.id_partido = id_partido;
    }

    public String getResultado() {
        return resultado;
    }

    public void setResultado(String resultado) {
        this.resultado = resultado;
    }

    public Equipo[] getEquipos() {
        return equipos;
    }

    public void setEquipos(Equipo[] equipos) {
        this.equipos = equipos;
    }

    // metodo que devuelve un arreglo de tipo string con todos los nombres de
    // los equipos
    /**
     * Metodo vs
     */
    public String[] crearVS(Equipo[] arregloEquipo) {

        String nombres_encontrados[] = new String[7];

        for (int u = 0; u < arregloEquipo.length; u++) {



            // verificar por cada equipo sus respectivos nombres y los agrega en
            // un nuevo arreglo
            // para ser leidos despues por la tabla

            // arreglo de tipo equipo que es convertido de tipo equipo para asi
            // mediante
            // el metodo get se pueda obtener el id del equipo y el nombre.

            nombres_encontrados[u] = arregloEquipo[u].getNombreEquipo();

        }
        return nombres_encontrados;

    }

    public Object[] primeraRonda(String[] nombres_encontrados) {
//        //instanciando de la clase random un objeto tipo random
//        Random rnd = new Random();
        // arreglos de tipo string donde guardara los nombres de los equipos de las primera y segunda ronda
        String[] equiposPrimeraRondaA = new String[4];
        String[] equiposPrimeraRondaB = new String[4];
        Object[] rondas = new Object[2];
//        int x = 0;
//        int a = 0;
//
//        for (int r = 0; r < nombres_encontrados.length; r++) {
//            if (r <= 3) {
//                equiposPrimeraRondaA[a] = nombres_encontrados[r];
//                x = (int) (rnd.nextDouble() * 10.0);
//                a++;
//            }
//        }
        int[] equipo_random = new int[8];

        Random randomGenerator = new Random();
        for (int idx = 1; idx <= 8; ++idx) {
            int randomInt = randomGenerator.nextInt(8);

            for (int i = 0; i < equipo_random.length; i++) {
                if (equipo_random[i] == randomInt) {
                    idx = idx - 1;
                    break;
                } else {
                    equipo_random[idx] = randomInt;
                    break;
                }
            }
        }
        /*a = {1,5,7,3}*/

        for (int i = 0; i < 7; i++) {
            if (i <= 3) {
                equiposPrimeraRondaA[i] = nombres_encontrados[equipo_random[i]];
            }
            if (i > 3) {
                equiposPrimeraRondaB[i] = nombres_encontrados[equipo_random[i]];
            }

        }

        for (int i = 0; i < 7; i++) {
            if (i <= 3) {
                System.out.println("Ronda A" + "\n");
                System.out.println(equiposPrimeraRondaA[i] + "\n");
            }
            if (i > 3) {
                System.out.println("Ronda B" + "\n");
                System.out.println(equiposPrimeraRondaB[i] + "\n");
            }

        }

        rondas[0] = equiposPrimeraRondaA;
        rondas[1] = equiposPrimeraRondaB;

        return rondas;
    }
}
